setClass("WilcoxonHtester",contains="VHtester",
		representation(
				.alternative="character",
				.mu="numeric",
				.paired="logical"
		),
		prototype=prototype(
				.description="Wilcoxon Hypothesis tester class",
				.alternative="two.sided",
				.mu=0,
				.paired=FALSE
		)
)  


#initialization method 
setMethod("initialize",
		signature="WilcoxonHtester",
		function(.Object,alternative="two.sided",mu=0,paired=FALSE,...){
			.Object@.alternative <- alternative
			.Object@.mu <- mu
			.Object@.paired <- paired
			return(.Object)
		})



setMethod("htest",
		signature="WilcoxonHtester",
		definition=function(.Object,vec1,vec2,...){
			pval <- wilcox.test(vec1 ,vec2 ,alternative=.Object@.alternative, 
							mu=.Object@.mu, paired=.Object@.paired)$p.value
			return(pval)
		}
)  
